/*
 * @Description:
 * @Version: 2.0
 * @Autor: wiz
 * @Date: 2024-07-28 10:47:10
 * @LastEditors: zss
 * @LastEditTime: 2024-09-26 15:17:35
 */
import Vue from 'vue';
/* import {} from '@/types' */
/*
 * props
 */
export namespace N_cPLDetails {
  // eslint-disable-next-line no-shadow
  export enum V_ecDatatype {
    Float32 = 0,
    Float64,
    Int8,
    Int16,
    Int32,
    Int64,
    UInt8,
    UInt16,
    UInt32,
    UInt64,
    DateTime,
    Date,
    Time,
    Bool,
    String,
    Bit
  }

  // eslint-disable-next-line no-shadow
  export enum V_ecBoxType {
    NOTSET = 0,
    MITSUBISHI_PLC_Q,
    SIEMENS_PLC_S7_1500,
    SIEMENS_PLC_S7_200_SMART
  }
  // eslint-disable-next-line no-shadow
  export enum V_schedulingStatus {
    NOTSTART = 0,
    RUNNING,
    FINISHED
  }
  export interface I_readResp {
    success: boolean;
    msg: string;
    data: {
      [key: string]: {
        dataType: V_ecDatatype;
        controllerType: V_ecBoxType;
        v: any;
        err: string;
      };
    };
  }

  export interface I_schedulingResp {
    code: number;
    success: boolean;
    msg: string;
    data: null;
  }
  export interface I_writeResp {
    success: boolean;
    msg: string;
    data: null;
  }
  export interface I_writeCodeRes {
    code: string;
    value: string;
  }
  export interface I_writeRes {
    writeList: I_writeCodeRes[];
  }
  export interface cPLDetails extends Vue {
    formData: {
      id: string;
      physical_num: string;
      produc_line_name: string;
      f_status: number;
    };
    funName: string;
    setMask: Function;
  }
}
